package control.service;

import com.baomidou.mybatisplus.extension.service.IService;
import control.module.po.usermanage.User;
import control.module.vo.usermanage.RoleAuthsVo;
import control.module.vo.usermanage.UserAuthVo;

import java.util.List;

/**
 * User service
 *
 * @description:
 * @author: cyj
 * @date 2020 -10-21 20:46:33
 */
public interface IUserService extends IService<User> {

    /**
     * Gets by login id *
     *
     * @param loginId login id
     * @return the by login id
     * @description: 根据logId查询用户
     */
    public User getByLoginId(String loginId);

    /**
     * Gets auth *
     *
     * @param id id
     * @return the auth
     * @description: 根据user表id获取用户所有权限及角色信息
     */
    UserAuthVo getAuth(Integer id);

    /**
     * Gets auth *
     *
     * @param loginId login id
     * @return the auth
     * @description: 根据user表loginId获取用户所有权限及角色信息
     */
    UserAuthVo getAuth(String loginId);

    /**
     * Assemble role auths list
     *
     * @param id id
     * @return the list
     * @description: 根据user表loginId组装用户所有权限及角色信息,有必要可以改成表连接
     */
    List<RoleAuthsVo> assembleRoleAuths(Integer id);

    /**
     * Login string
     *
     * @param loginId  login id
     * @param password password
     * @return the string
     * @description: 登陆生产token
     */
    String login(String loginId, String password);
}
